The present disclosure relates generally to information handling systems (IHS's), and more particularly to a flow-based network switching IHS for transferring information between IHS's.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an IHS. An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
IHS's may be coupled together to form networks in order to share information. Those networks typically include network switches (which are also IHS's) that are used to transfer information from one IHS to another. Conventional network switching systems are designed to address the needs for high bandwidth of packet switching and forwarding using a set of predefined metadata located within the destination fields of the frame headers in the packets. In limiting themselves to the use of this predefined metadata, such conventional systems compromise the utilization of newly developed technologies such as, for example, real-time web based content aware applications and services. Thus, current network switching systems are limited by rigid packet processing logic and inflexibility, which requires system redesign as network protocols develop and as additional feature enhancements of network applications and services emerge.
For example, a typical packet switching system includes ingress and egress processing. Once a packet is received, parsing and look-up of predefined metadata in the destination fields of the packet header is conducted to find a matching entry in a Ternary Content Addressable memory (TCAM) table. This search of the destination fields in the packet header is limited to network layer 2 metadata (e.g., a Media Access Control (MAC) destination address, a Virtual Local Area Network (VLAN) identifier, etc.) and network layer 3 metadata (e.g., an Internet Protocol (IP) destination address), and the packet metadata may be stored in the TCAM table for future searches and look-ups. In some embodiments, the packet switching system may include a set of predefined access rules and policies that are applied to every packet in the system based on the network layer 2 and 3 metadata in the packet header. Packet payloads are stored in queues in memory and their packet headers may be subject to modifications (e.g., the destination MAC address, the destination IP address, or customer VLAN's may be modified) in the forwarding path prior to egress of the system.
Such conventional packet switching systems suffer from a fixed and rigid processing design, and cannot scale in response to additional feature enhancements and/or new technologies. They are suited for traditional switching logic that is based on the predefined metadata in destination fields of the packet headers, but do not allow for more granular packet processing. Accordingly, it would be desirable to provide an improved network switching system.